package com.xian.d5_innerclass_static;

/**
 * 内部类
 * 内部类就是定义在一个类里面的类，里面的类可以理解成（寄生)，外部类可以理解成（宿主)。
 * public class People{
 * //内部类
 * public class Heart{
 * 内部类的使用场景、作用
 * 当一个事物的内部，还有一个部分需要一个完整的结构进行描述，而这个内部的完整的结构又只为外部事物提供服务，那么整个内部的完整结构可以选择使用内部类来设计。
 * 内部类通常可以方便访问外部类的成员，包括私有的成员。
 * 内部类提供了更好的封装性，内部类本身就可以用private protectecd等修饰，封装性可以做更多控制。
 *
 * 1．静态内部类的使用场景、特点、访问总结。
 * 如果一个类中包含了一个完整的成分，如汽车类中的发动机类。
 * 特点、使用与普通类是一样的，类有的成分它都有，只是位置在别人里面而已。
 * 可以直接访问外部类的静态成员，不能直接访问外部类的实例成员。
 * ●注意:开发中实际上用的还是比较少。
 *
 * 静态内部类的访问拓展:
 * 1、静态内部类中是否可以直接访问外部类的静态成员?
 * ●可以，外部类的静态成员只有一份可以被共享访问。
 * 2、静态内部类中是否可以直接访问外部类的实例成员?
 * ●不可以的，外部类的实例成员必须用外部类对象访问。
 * 心
 */
public class Test {
    public static void main(String[] args) {
        Outer.Inner in = new Outer.Inner();
        in.setName("小贤");
        in.show();
    }
}
